package util;

import java.util.HashMap;
import java.util.Map;

public class Test1 {
    public static void main(String[] args) {
        Map<String,Object> msg = new HashMap<>();
        Map<String,Object> param= new HashMap<>();
        //command_id  1：上线  2：离线  3：报警
        // 4：设备运行信息 或许用户想知道设备的运行参数
        //      是不是可以把设备上传的数据解析完成后给用户发送过去 此条数据中会携带alarm_status
        //*拓展 3：操作1成功返回  4：操作2成功返回 或者做一个区间 1001 1002 1003
        //*用户通过mq给中间件发送1001做开锁操作  中间件返回1002开锁成功
        msg.put("command_id","1");
        //device_id 设备id 可能后期设备不只是锁 统一规划
        msg.put("device_id","");
        //设备分支类型  同一设备类型是否存在多种分支 暂定
        //比如电子锁 指纹锁 device_type都是1 电子锁的branch_type是1 指纹锁的branch_type是2
        msg.put("branch_type","");
        //报警状态 为0时即正常 大于0就是存在告警 通过位移操作 一个数字可以同时存在64个状态
        //bit1 ==1 是电量不足  bit2 ==1 是异常开 bit3 == 锁异常 多个状态不冲突
        //若是64个状态不够用时 再新加一个alarm_status1 然后根据device_id和branch_type去解析
        msg.put("alarm_status","");
        //数据时间 至于对时间的定义需要什么样的格式 可以具体定义
        msg.put("happen_time",System.currentTimeMillis() /1000);
        //设备运行参数 param参数也需要根据device_type和branch_type区分
        param.put("battery","3.5v");
        param.put("手柄状态配置","1");
        param.put("锁配置mod","1");
        msg.put("param",param);
        System.out.println(msg);


    }
}
